package com.jzo2o.foundations.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jzo2o.api.foundations.dto.response.ServeAggregationResDTO;
import com.jzo2o.foundations.model.domain.Serve;
import com.jzo2o.foundations.model.dto.request.ServeUpsertReqDTO;
import com.jzo2o.foundations.model.dto.response.ServeAggregationSimpleResDTO;
import com.jzo2o.foundations.model.dto.response.ServeCategoryResDTO;
import com.jzo2o.foundations.model.dto.response.ServeResDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 服务表 - Mapper
 */
public interface ServeMapper extends BaseMapper<Serve> {
    /**
     * 查询区域服务列表
     * 查询的表：区域服务表、服务类型表、服务项表
     */
    List<ServeResDTO> queryServeListByRegionId(@Param("regionId") Long regionId);


    /**
     * 用户端 - 获取首页服务类型及服务项
     * 查询的表：区域服务表、服务类型表、服务项表
     * 查询所有已上架的服务类型及其下属的服务项图标
     */
    List<ServeCategoryResDTO> findServeIconCategoryByRegionId(@Param("regionId") Long regionId);

    /**
     * 用户端 - 首页热门服务列表
     * 查询条件：区域id。是否热门（是）、是否上架（是）
     */
    List<ServeAggregationSimpleResDTO> queryHotServeListByRegionId(@Param("regionId") Long regionId);

    /**
     * 用户端 - 获取服务详情
     * 获取服务详情
     */
    ServeAggregationResDTO findServeDetailById(@Param("id") Long id);


}
